package com.yunke.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 用户余额信息VO
 * 
 * @author yunke
 * @since 1.0.0
 */
@Data
@Schema(description = "用户余额信息")
public class YunkeBalanceVo {

    /**
     * 用户ID
     */
    @Schema(description = "用户ID")
    private Long userId;

    /**
     * 当前余额
     */
    @Schema(description = "当前余额", example = "1000.00")
    private BigDecimal balance;

    /**
     * 总收入
     */
    @Schema(description = "总收入", example = "5000.00")
    private BigDecimal totalIncome;

    /**
     * 搭子收入
     */
    @Schema(description = "搭子收入", example = "2000.00")
    private BigDecimal daziIncome;

    /**
     * 服务收入
     */
    @Schema(description = "服务收入", example = "1500.00")
    private BigDecimal serviceIncome;

    /**
     * 社区收入
     */
    @Schema(description = "社区收入", example = "500.00")
    private BigDecimal communityIncome;

    /**
     * 一级佣金收入
     */
    @Schema(description = "一级佣金收入", example = "800.00")
    private BigDecimal firstCommissionIncome;

    /**
     * 二级佣金收入
     */
    @Schema(description = "二级佣金收入", example = "200.00")
    private BigDecimal secondCommissionIncome;

    /**
     * VIP收入
     */
    @Schema(description = "VIP收入", example = "300.00")
    private BigDecimal vipIncome;

    /**
     * 已提现金额
     */
    @Schema(description = "已提现金额", example = "3000.00")
    private BigDecimal withdrawnAmount;

    /**
     * 冻结金额
     */
    @Schema(description = "冻结金额", example = "100.00")
    private BigDecimal frozenAmount;

    /**
     * 可提现金额
     */
    @Schema(description = "可提现金额", example = "900.00")
    private BigDecimal availableWithdrawal;

    /**
     * 是否设置支付密码
     */
    @Schema(description = "是否设置支付密码")
    private Boolean hasPayPassword;
} 